<?php
class SolicitantesController extends AppController {
	var $name = 'Solicitantes';
	var $uses = array('Solicitante', 'Usuario','Unidade','Evento');

	function listar(){
		$solicitantes= $this->Solicitante->find('all');
		$this->set('solicitantes',$solicitantes);
		$unidades= $this->Unidade->find('all');
		$this->set('menu','solicitante');
		$this->set('unidades',$unidades);
		
		if(!empty($this->data)){
			$usuario = $this->Usuario->create();
	 		$dataSolicitante = $this->data;

			$usuario["Usuario"]["usuario"] = $dataSolicitante["Usuario"]["usuario"];
			$usuario["Usuario"]["contrasena"] = md5($dataSolicitante["Usuario"]["contrasena"]);
			$usuario["Usuario"]["perfil"] = $dataSolicitante["Usuario"]["perfil"];;

			if($this->Usuario->save($usuario["Usuario"])){
				$id = $this->Usuario->id;
				$solicitante = $this->Solicitante->create();
				$dataSolicitante["Solicitante"]["usuarios_id"] = $id;
				$solicitante["Solicitante"] = $dataSolicitante["Solicitante"];

				$this->Solicitante->save($solicitante["Solicitante"]);
				$this->Session->setFlash('Se registró con exito al solicitante','success');
				$this->redirect(array('controller'=>'Solicitantes','action'=>'listar'),null,true);
			}
		}
	}

	function editar(){
		$id = $this->params["url"]['id'];
		$solicitante = $this->Solicitante->findById($id);
		$this->set('solicitante',$solicitante);
		$unidades= $this->Unidade->find('all');
		$this->set('menu','solicitante');
		$this->set('unidades',$unidades);
		$usuario = $this->Usuario->findById($solicitante['Solicitante']['usuarios_id']);
		$this->set('usuario',$usuario);

		if(!empty($this->data)){
			$dataSolicitante = $this->data["Solicitante"];
	    	$dataUsuario = $this->data["Usuario"];
			$id = $dataUsuario["id"];

			if($this->Solicitante->save($dataSolicitante)){
				$usuario = $this->Usuario->findById($id);
				$usuario["Usuario"]["usuario"] = $dataUsuario["usuario"];

				if($this->Usuario->save($usuario["Usuario"])){
					$this->Session->setFlash('Los datos han sido actualizados','success');
					$this->redirect(array('controller'=>'Solicitantes','action'=>'listar'),null,true);
				}else{
					$this->Session->setFlash('Los datos no fueron registrados. Inténtelo de nuevo');
					$this->redirect(array('controller'=>'Solicitantes','action'=>'listar'),null,true);
				}
			}else{
				$this->Session->setFlash('Los datos no fueron registrados. Inténtelo de nuevo');
				$this->redirect(array('controller'=>'Solicitantes','action'=>'listar'),null,true);
			}
		}
	}

	function borrar(){
		$id = $this->params["url"]["id"];
		$solicitante = $this->Solicitante->findById($id);
		$id_solicitante=$solicitante['Solicitante']['id'];
		$id_usuario=$solicitante['Solicitante']['usuarios_id'];
		$eventos = $this->Evento->find('all',array('conditions'=>array('solicitantes_id'=>$id)));
		if(count($eventos)>0)
		{
			$this->Session->setFlash('No se puede eliminar Solicitante, tiene eventos publicados','success');
			$this->redirect(array('controller'=>'Solicitantes','action'=>'listar'),null,true);					
		}
		if($this->Solicitante->delete($id_solicitante)){
			$this->Usuario->delete($id_usuario);
			$this->Session->setFlash('Los datos del Solicitante han sido eliminados','success');
			$this->redirect(array('controller'=>'Solicitantes','action'=>'listar'),null,true);
		}else{
			$this->Session->setFlash('No se pudieron eliminar los datos del Solicitante');
		}
	}


	function contrasena(){
		$usuarios_id = $this->params["url"]['id'];
		$usuario = $this->Usuario->findById($usuarios_id);
		$this->set('usuario',$usuario);

		if(!empty($this->data)){
			$dataUsuario = $this->data;
			$usuario = $this->Usuario->findById($dataUsuario['Usuario']['id']);
			if($usuario['Usuario']['contrasena'] == md5($dataUsuario['Usuario']['contrasena'])){
				if($dataUsuario['Usuario']['nueva'] == $dataUsuario['Usuario']['repetido']){
					$dataUsuario['Usuario']['contrasena'] = md5($dataUsuario['Usuario']['nueva']);
					if($this->Usuario->save($dataUsuario['Usuario'])){
						$this->Session->setFlash('La contraseña se actualizó con éxito','success');
						$this->redirect(array('controller'=>'Participantes','action'=>'listar'),null,true);
					}else{
						$this->Session->setFlash('Los datos no fueron registrados. Inténtelo de nuevo', 'notice');
						$this->redirect(array('controller'=>'Participantes','action'=>'listar'),null,true);
					}
				}else{
					$this->Session->setFlash('Las contraseñas ingresadas no coinciden');
					$this->redirect(array('controller'=>'Participantes','action'=>'listar'),null,true);
				}
			}else{
				$this->Session->setFlash('Ingresó contraseña anterior errada');
				$this->redirect(array('controller'=>'Participantes','action'=>'listar'),null,true);
			}
		}
	}
}
?>